home *** CD-ROM | disk | FTP | other *** search
- 10 ' Picture City Personal Computer Programming Club "CHARDISP"
- 20 ' Michael Csontos, 3228 Livonia Center Road, Lima, NY 14485
- 30 KEY OFF:CLS
- 40 PRINT "This program allows you to view the complete character set for
- 50 PRINT " the IBM Personal Computer on the display in a form which
- 60 PRINT " allows you to closely examine it for selection of characters
- 70 PRINT " which might be useful for special purposes.
- 80 PRINT
- 90 PRINT "The entire set will scroll slowly and may be stopped at any time by
- 100 PRINT " pressing <Ctrl> and <Num Lock> keys simutaniously. To resume
- 110 PRINT " the scrolling, press the space bar. Use <Ctrl>+<Break) to
- 120 PRINT " stop before the end. If you then want to start elsewhere in
- 130 PRINT " the series, type N=nnn, <"CHR$(217)"> 3 or 4 times, and <F5>.
- 140 PRINT "
- 150 PRINT "To use characters which are not represented by keys on the keyboard,
- 160 PRINT " the sequence CHR$(n) must be used in a print statement, where
- 170 PRINT " n is the number that appears at the beginning of the line
- 180 PRINT " in the display, e.g. PRINT CHR$(146) produces ";CHR$(146);"."
- 190 PRINT
- 200 PRINT "Non-displayed characters are described only, since outputting them
- 210 PRINT " to the display might produce a confusing result.
- 220 PRINT "
- 230 INPUT "Ready to start (Y/N)";A$
- 240 IF A$="Y" GOTO 290
- 250 IF A$="y" GOTO 290
- 260 IF A$="n" THEN GOTO 580
- 270 IF A$="N" THEN GOTO 580
- 280 PRINT:PRINT "The program will respond to keys y,Y,n or N only!":FOR W=1 TO 5000:NEXT :GOTO 10
- 290 CLS
- 300 FOR N=0 TO 255
- 310 IF N<10 THEN PRINT " ";
- 320 IF N<100 THEN PRINT " ";
- 330 PRINT N;
- 340 IF N=0 THEN PRINT "NULL":L$=STRING$(20,CHR$(1)):GOTO 740
- 350 IF N=7 THEN PRINT "BEEP";CHR$(7):GOTO 590
- 360 IF N=8 THEN PRINT "BACKSPACE":GOTO 590
- 370 IF N=9 THEN PRINT "TAB":GOTO 590
- 380 IF N=10 THEN PRINT "LINE FEED":GOTO 590
- 390 IF N=11 THEN PRINT "HOME":GOTO 590
- 400 IF N=12 THEN PRINT "FORM FEED":GOTO 590
- 410 IF N=13 THEN PRINT "CARRIAGE RETURN":GOTO 700
- 420 IF N=28 THEN PRINT "CURSOR RIGHT":GOTO 590
- 430 IF N=29 THEN PRINT "CURSOR LEFT":GOTO 590
- 440 IF N=30 THEN PRINT "CURSOR UP":GOTO 590
- 450 IF N=31 THEN PRINT "CURSOR DOWN":GOTO 590
- 460 IF N=32 THEN PRINT "SPACE":GOTO 730
- 470 IF N=255 THEN PRINT "BLANK 'FF'":GOTO 590
- 480 PRINT CHR$(N);" ";
- 490 FOR M=1 TO 72
- 500 PRINT CHR$(N);
- 510 NEXT M
- 520 FOR Q=0 TO 5:NEXT'delay at end of full charactor lines
- 530 IF FIX(N/2)=N/2 THEN 600 ELSE 650
- 540 PRINT SPC(40);Z$;W$;:FOR P=0 TO 400:NEXT 'delay at end of split lines
- 550 GOSUB 760
- 560 NEXT N
- 570 FOR NN=0 TO 10:PRINT:FOR NNN=0 TO 1500:NEXT:PRINT:GOSUB 760:FOR NNNN=0 TO 1000:NEXT:NEXT:CLS
- 580 PRINT:PRINT "G";CHR$(1);CHR$(2);CHR$(3);" B";CHR$(157);CHR$(144):PRINT:KEY ON:END
- 590 PRINT:FOR O=0 TO 10:NEXT:GOTO 550'delays for non-print lines
- 600 X$=CHR$(N)
- 610 Z$=STRING$(20,X$)
- 620 IF N=6 THEN Y$=" ":GOTO 640
- 630 Y$=CHR$(N+1)
- 640 W$=STRING$(20,Y$):GOTO 540
- 650 IF N=7 THEN Y$=" ":GOTO 670
- 660 Y$=CHR$(N)
- 670 W$=STRING$(20,Y$)
- 680 X$=CHR$(N+1)
- 690 Z$=STRING$(20,X$):GOTO 540
- 700 K$=STRING$(20,CHR$(14))
- 710 PRINT SPC(40);K$
- 720 GOTO 550
- 730 L$=STRING$(20,CHR$(33))
- 740 PRINT SPC(60);L$;
- 750 GOTO 550
- 760 DEF SEG = &HB800
- 770 FOR COLUMN = 50 TO 70
- 780 POKE ((CSRLIN-10)*160+(COLUMN-1)*2)+1,112
- 790 NEXT COLUMN
- 800 FOR COLUMN = 50 TO 70
- 810 POKE ((CSRLIN-11)*160+(COLUMN-1)*2)+1,112
- 820 NEXT COLUMN
- 830 RETURN
- 840 ' SAVE"CHARDISP
- COLUMN = 50 TO 70
- 810 POKE ((CSRLIN-11)*160+(COLUMN-1)*2)+1,112
- 820 NEXT